package com.sdonkey.score.service;

import com.github.pagehelper.Page;
import com.sdonkey.score.bean.UserMsgBean;

/**
 * 用户消息服务接口
 *
 * @author ZhaoShihao
 * @version 1.0
 */
public interface IUserMsgService {
    /**
     * 用户投诉回馈信息发送
     *
     * @param adId    被投诉广告id
     * @param userId  用户id
     * @param content 投诉内容
     */
    void sendMsgForComplaint(Integer adId, Integer userId, String content);

    /**
     * 用户添加好友信息发送
     *
     * @param userId  用户id
     * @param frdId   被添加好友id
     * @param content 备注
     */
    int sendMsgForAddFriend(Integer userId, Integer frdId, String content);

    /**
     * 用户添加好友反馈信息发送
     *
     * @param userId 用户id
     * @param frdId  被添加好友id
     * @param suc    申请是否通过
     * @param msgId  消息ID
     */
    int sendMsgForAddFriendRes(Integer userId, Integer frdId, boolean suc, Integer msgId);

    /**
     * 用户收入信息发送
     *
     * @param userId     用户id
     * @param income     收入金额
     * @param incomeType 收入类型
     */
    void sendMsgForAccountIncome(Integer userId, Double income, String incomeType);

    /**
     * 用户支出消息发送
     *
     * @param userId     用户id
     * @param defray     支出金额
     * @param defrayType 支出类型
     */
    void sendMsgForAccountDefray(Integer userId, Double defray, String defrayType);

    /**
     * 获取一个用户的所有信息
     *
     * @param userId   用户id
     * @param pageNum  页码
     * @param pageSize 页容量
     * @return
     */
    Page<UserMsgBean> getMsgByUserId(Integer userId, int pageNum, int pageSize);

    /**
     * 获取一个信息的详情
     *
     * @param id 消息id
     * @return
     */
    UserMsgBean getMsgById(Integer id);

    /**
     * 获取未读信息条数
     *
     * @param id 用户id
     * @return
     */
    int getMSgNumUnRead(Integer id);
}
